//
//  File.swift
//
//
//  Created by didi on 2022/9/14.
//

import Molecular
import SwiftSgml

public protocol UserModuleTemplate: MolecularTemplate {
    func login(_ context: UserLoginContext) -> AbstractTemplate<UserLoginContext>
    func register(_ context: UserRegisterContext) -> AbstractTemplate<UserRegisterContext>
    func newPassword(_ context: UserNewPasswordContext) -> AbstractTemplate<UserNewPasswordContext>
    func resetPassword(_ context: UserResetPasswordContext) -> AbstractTemplate<UserResetPasswordContext>
}

public extension TemplateEngine {
    var user: UserModuleTemplate {
        self.get(UserModuleTemplate.self)
    }
}
